GPS.txt 6.01 GPS or LORAN INTERFACED TO APRS NEW IN VERSION 6.01: Added ARNAV aeronautical LORAN/GPS interface. See new README/ARNAV.txt for details. OVERVIEW: This file has evolved radically as this APRS project has developed. We began seriously parsing GPS data within APRS for amateur applications when the MAGELAN OEM GPS card became available for $445 in Sept 92 (down from $1000). Later the Motorola OEM GPS card came down to the same price range, and these two devices were the only ones that we could find that were cheap AND which had USER programmable reporting rates so that they could be set up to operate stand-alone with only a TNC and radio as a tracking device. Several HAMS began to build these autonomous tracking devices. DRSI made a special APRS ROM for TAPR-2 clone TNC's to permit power-up in the proper mode. Next, in August 93, I added an optional GPS serial interface to APRS so that a laptop user could see himself tracked on the map. This interface did not require any unique programming of the GPS device and so it was compatible with ANY GPS or LORAN device using the NMEA-0183 interface, but it DID require a dual port laptop if both GPS and TNC operations were needed. By December, 93, this capability was enhanced for single port laptops to permit both the TNC and the GPS to share the same serial port. If the GPS is programmable, then use the SINGLE-PORT-MODE (SPM) below. If it continually outputs data, then use the HARDWARE-SINGLE-PORT mode (HSP) below. In HSP mode, APRS toggles the DTR line on the single serial port so that two transistors can then switch between the GPS and the TNC on the same port. It works! About this same time, PACCOM added a GPS interface command into its TNC's. This capability now permitted you to build stand-alone trackers with MOST GPS's and a PACCOM TNC instead of ONLY using a MAGELAN/MOTOROLA OEM GPS unit with ANY TNC. Howie Goldstein, N2WX, has also written special GPS commands for other TAPR-2 Clone TNC's. Check with MFJ, and DRSI for availablility. Now that handheld GPS units are readily available for under $399 and the PACCOMM TNC includes GPS commands built-in, most people will probably prefer to purchase the handhelds. The only remaining advantage of the OEM cards is in totally autonomous stand-alone tracking devices. When building a sealed up stand-alone package with GPS/TNC and radio, there is still the problem of turning the GPS on and off! Most hand-held GPS units have a keyboard ON/OFF button. In a stand-alone arrangement, even if the GPS is running on external power, someone has to press the ON button! On the other hand, the OEM cards power up whenever power is applied. (this is useful if you want the tracker to come on with the vehicle ignition...) * * * * * * * * * * CURRENT RECOMMENDATION SUMMARY * * * * * * * * * * BOTH THE PACCOMM AND THE HOWIE GOLDSTEIN (N2WX) TNC MODS ARE FOR STAND-ALONE TRACKING APPLICATIONS. WITH THE TNC IN THE GPS MODE YOUR POSITION IS BOTH TRANSMITTED ON THE AIR, AND ALSO AVAILABLE TO YOU FOR DISPLAY LOCALLY ON APRS, BUT THE TNC SERIAL PORT IS USED UP AND NO LONGER AVAILABLE IN ITS NORMAL TWO- WAY COMM MODE AT THE SAME TIME. If you want to use your laptop as BOTH a moving map display AND APRS communication device, you have three options: FOR DUAL-PORT LAPTOPS: ANY NMEA GPS and ANY TNC will work with APRS O.K. SINGLE-PORT LAPTOPS: Choose between the following options: A. Buy a programmable MAGELAN or Motorola OEM GPS card and wire it up to operate in the APRS single-port mode with ANY TNC. This results in only occassional (rare) glitches as the position data and TNC data are Diode-ORed together to the same port. B. Use any GPS, with APRS in the single port mode. Connect both the GPS and TNC to your serial port via a SPDT Push Button on your dashboard and press it for 2 seconds whenever you want to see (and update to APRS) your current posit. All the rest of the time, the TNC is connected and operates as a normal comm device. C. Use ANY GPS with APRS in the Hardware Single Port (HSP) mode and build a simple two transistor interface which permits APRS to switch between the two devices. This permits automatic GPS reporting and is an improvement on option B above. Since APRS controls the toggling, the potential for garbling is further reduced than in A or B. (You can purchase the APRS port splitter from PACCOMM, or wire it up yourself) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * GPS EQUIPMENT SUMMARY The following are the only GPS units with which I have personal experience. Any GPS or LORAN with a NMEA output should work just fine with APRS, and no-one has reported a NMEA device that DOES NOT work with APRS. I do not have good experience with the USER interface and displays on most units since I only use the NMEA output into APRS. For this reason, my sole purchasing criteria has been price! (including the serial output). I have purchased one of each of the following devices. Many other APRS operators have used many other GPS devices, and all (with NMEA outputs) work! MAGELAN OEM CIRCUIT BOARD: My first GPS. Cost $450 plus $130 antenna. Well documented later in this file. Output periodicity fully programmable and includes GGA,GLL and VTG data. Great for any TNC for stand-alone. LNA on board, can use home-made antenna. 5 channel. 12 volt model no longer available. MOTORLOA OEM CIRCUIT BOARD: The smallest circuit. Requires active antenna. Output fully programmable and has GGA,GLL,VTG and RMC. The RMC gives posit, CSE/SPD all in one packet. Great for any TNC stand-alone. 5 channel. $480 with active antenna. $435 without. VP-ENCORE is the latest 5 volt version (TTL) for $299. ($344 w/antenna). These prices have been the same for the last 9 months or more (OCT 94 now). GARMIN-50: BEST BUY. $400 in Feb 94 and includes mounting bracket, NMEA cable and 6-40 volt supply capability built in! Has RMC, but does NOT have GGA (no altitude). Handheld antenna can be remoted about 6 ft. 8 channel. CAUTION: N2CZF took it air-mobile and it APPEARED TO DIE as soon as the aircraft reached 90 KTs. It output NO data the entire time in the air. Worked again after landing during taxi... Suspect the 90 kt limit is to protect their AERONAUTICAL market. I called Magelan and the Meridian (below) limits out at 999 KTs. MAGELAN MERIDIAN: Dropped below $400 in Spring 94. Mounting bracket, NMEA and external 12v converter are extra for $80, but are not needed if you give it 6 volts and make your own data cable. 8 channel. Handheld antenna can be remoted about 6 feet. Current drain is 130 ma. Runs on 3 AA cells. Also has SAMPLING mode that extends battery life by factor of 10 or more. It wakes up every 10 mins locks on a posit and shuts down again. To get maximum life, be sure it sees the sky at all times, or it will come on, and STAY ON until it gets a fix. If you use a circuit that senses the GPS current drain to switch the TNC and RADIO on and off as well, you can make a stand alone tracker that will last about 4 days on a set of AA alkalines, or 3 weeks on a set of D cells. Using this combined SAMPLING mode, you should set the TNC LOCATION rate to 30 seconds (my guess) so that you get at least one posit transmitted while the combo is ON and getting a fix. Remember that the first fix transmitted each cycle will probably be the one that the TNC stored from the last power up cycle. Below is the pinout, looking at the back of the GPS with wire colors for their $80 power/data cable. Note that you do NOT need their box for NMEA data, only for 6V power. (This is MY OPINION. I AM NOT LIABLE FOR ANY PROBLEMS IF YOU MAKE YOUR OWN INTERFACE!) GPS POWER/DATA CABLE BOX WIRES OUT SIGNALS *- +6V --[*reg*]-------------- Red 9 to 16 volts input *--------[-----]-------------- Yellow reserved for future *--------[-----]-------------- orange NMEA (+) *--------[?????]-------------- white -20k +100K continuity through box *--------[-----]-------------- brown NMEA (-) *--------[-----]-------------- black Ground I do not know how they manage power internally, but the GPS will run from internal 3 AA cells with or without the cable attached. If there is external power, it knows it, and switches to external power. When external power goes away, THE GPS POWERS DOWN. Pressing the ON button will power it back up again on internal power! I haven't yet tested to see if SAMPLING mode is on, and it loses external power and powers down, if it will then still SAMPLE ON again later with INTERNAL power. GARMIN GPS-45: Just saw one today and boy was I impressed! Smallest unit I have seen, AND includes a full map graphic display! Zoom from city block to whole state! There is no real map of roads, but your track history is stored and always appears on the map! Driving 10 miles and back on the Interstate, revealed two side-by-side routes, perfectly separated by 100 feet the whole way! Plus the clover leafs were perfect! I only got to see it demo'ed for 5 minutes, but I was sold! Price of $480 INCLUDES bracket and detachable NMEA cable. Antenna is BNC and remotable too. If you will NEVER go aircraft mobile (It also shuts down above 90 Kts), this looks like the best investment. Replay track histories stored in the unit into APRS conversion programs and build your own APRS maps! TEKK DATA RADIO: Not a GPS, but is a 2 watt UHF 9600 baud data radio about the size of a credit card (and 3/4 inch thick). See page 18 in Feb 94 QST. Cost between $120 to $130. Great for future 9600 baud POSITION REPORTING NET TO DEVELOP on 445.925 MHz. See UHF-FREQ.txt. MOTOROLA HT-220: The venerable HAMFEST single channel HT can be bought for as low as $20. After taking off the front and back covers, hacksawing off the battery compartment, and replacing the PTT switch with a tiny RELAY from Radio Shack (PN# 275-241, you have a nice 3/4 watt packet radio, about the size of a cigarette pack. Add $20 worth of crystals for 145.79, and away you go on 2-meters. Be sure to get the models that will tune down to 2m. ---------------------------------------------------------------------------- THE REMAINDER OF THIS FILE HAS THREE SECTIONS: The first describes the new PACCOMM direct TNC interface. Second is the direct APRS software interface of GPS to your PC Third is the direct TNC/GPS interface for building stand alone trackers using the MAGELAN and Motorola OEM cards. Forth, in March 94, I added a section on Differential correction. PACCOM GPS INTERFACE: All recent PACCOM TNC's have a GPS ON command which allows you to hook up ANY NMEA-0183 GPS device to the serial port and the NMEA position report will automatically be transmitted. In their 3.1 ROM, the position was inserted into the BEACON text (after stripping off the $GPGGA header. In version 3.2 they provide for a LOCATION TEXT that will parse out any user defined NMEA header and transmit it at a user specified periodicity. These PACCOMM TNC's are the simplest and most direct way to go, since 1) You will NOT need a special GPS OEM card that you wire yourself 2) you will not need modified TNC code. 3) You can buy completely integrated GPS/TNC/RADIO packages from PACCOMM 4) If you do use the OEM GPS units, the PACCOMM 3.2 ROM also has a UI MODE command that tells the TNC to power-up in the UNPROTO mode BUT THIS COMBINATION IS FOR STAND-ALONE TRACKERs! WHILE IN GPS MODE, the TNC is not used for packet communications. You can also hook up the stand-alone PACCOMM TNC up to an Ultimeter-II weather station for remote reporting of WX conditions at your DIGI site. (See WX.txt) The LOCATION TEXT in the PACCOM 3.2 ROM is independent from the TNC BText. This keeps the BText free for other information. (particularly, for announcing WHAT your mobile is doing, and what symbol to use, etc....) This maintains the same distinction between BTEXT and POSITS that APRS already handles easily. Similaraly, the LText command allows you to manually enter your LAT/LONG or grid square in your TNC, even without a GPS, so that TNC's in networks will send their locations periodically. The LText permits a free text format so that it is compatible with any future specific formats (currently APRS parses GGA, RMC, VTG, APRS L/L, PACCOMM and grid squares and a future 8 character compressed L/L format) and there will probably be others too. LOCATION TEXT TIMING: For future designs, the minimum L period should be 1 minute for manual entries, but the LText UI frame should be sent out ONCE everytime a new manual entry is made. The ultimate objective for all UI beacons should be to have the optional APRS DECAYING time period algorithm built into all TNC's. This DECAY option would be invoked with the L D N or B D N option commands. The D stands for DECAY and the N is the final beacon period. With the DECAY option, each new manual entry of BText or LText will force a UI frame immediately, 15 sec later, 30 after that, 60 after that, 2 mins, then 4 mins, then 8 mins and so on to N minutes, and stay at N minutes forever. This way, new UI information is transmitted immediately to all stations on the net, but old beacons soon fade away. With this algorithm, I would expect the minimum value of N for the DECAY option would be 10 minutes, but a default value of 60 would be appropriate. This way, stations that have unchanging information only beacon once an hour. One other addition to complete the APRS philosophy, is to have the TNC respond with both its LText and BText randomly within one minute of seeing an APRS query (UI frame to the address of APRS with the text field set equal to ?APRS?) This way, stations could drop back to a decayed beacon rate of once every 4 hours or so, but still would pop up on an APRS map if requested. DIRECT APRS GPS/LORAN INTERFACE OPTION: Registered APRS users that select the optional ($9) NMEA-0183 GPS option can plug just about any GPS/LORAN device directly (almost) into a serial port of your APRS computer. APRS will not only plot the position of the attached GPS and its movements, but will also transmit those position reports into the APRS net. In this mode, you can also select TRACK on the P-list to keep your mobile always on the map. There are four possible operational configurations: TNC only - 1 Serial - Normal APRS for tracking other stations TNC/GPS - 2 Serial - Normal APRS with automatic GPS position update GPS only - 1 Serial - Tracking yourself (no other stations appear) TNC/GPS - 1 Serial - Single Port Mode will do both! See below TNC/GPS - 0 Serial - Stand-alone-tracker. Doesnt use APRS except to plot the resulting packets. NMEA INTERFACING NOTES: Operation of a GPS with the optional $9 APRS software routine is automatic. But first you must interface the NMEA output of your GPS or LORAN to your RS-232 input. NOTE that NMEA and RS-232 are not exactly compatible. The NMEA specification is actually EIA-422, which means an isolated differential receive circuit is recommended. An opto-isolator is the receommended interface to RS-232. But it should also work by simply connecting the NMEA pin A to RXD and pin B to ground. Both standards are the same sense, with NMEA a 0 and +5 volt signal, and RS-232 a +3 and -3 volt signal. The direct connection may not work with many serial interfaces without a (-) voltage pulldown resistor. Often a series 1k resistor and a 5 to 10k resistor tied to your unused TXD data line will suffice to provide the - voltage: GPS NMEA OUT LAPTOP SERIAL PORT 1 k A >-------------/\/\/\/\---*------------------------> RXD | 10K *-------\/\/\/\/\--------< TXD B *-------------------------------------------------* GND NOTE! If you use this kind of biasing on our GPS when connected to a TNC, such as the PACCOMM for a stand-alone-tracker, be sure to set ECHO OFF so that echoed data does NOT come back to the GPS on the TXD line! If data comes out of the TNC, then with the bias resistor, it will garble the data trying to come in! Also, do NOT connect your PC serial output to your GPS NMEA input if there is one, since APRS does not send anything to the NMEA device. It has been reported that the TRAXAR GPS devices may lock up if you connect anything to the NMEA input (remove the battery and do a hard reset to get it back!) Of course, if you are using one of the programmable OEM cards, then you WILL make this connection in order to send commands to the GPS. Once your serial port is set to the NMEA-0183 standard baudrate of 4800 baud, you should begin to see raw NMEA data. My APRS software recognizes four of the NMEA-0183 formats: $GPGGA - for position and height (no loran equivalent) ] Use only one $GPGLL - for position only ($LCGLL for LORAN) ] of these two $GPVTG - for velocity and course ($LCVTG for LORAN) $GPRMC - Posn, Course and speed (Has all but height) (not in MAGELAN) APRS scans the interface data looking for a valid NMEA-0183 GLL/GGA/RMC or VTG data format to extract position and speed information. The data on the NMEA interface is continuous and refreshed every second or two. (If you have been using a MAGELAN or a Motorola and have programmed a very slow data period, you may want to reset this to a more normal few second rate.) In order not to saturate an APRS net or to overload your disk storage or to slow down your other APRS keyboard processing, APRS only samples the data at slower rate. This is called the REFRESH rate and is set during intitialization of APRS for GPS or by using the alt-S command. This period determines how often your screen is updated from your own GPS. Usually this is still too rapid for transmitting at 1200 baud on a shared packet channel, so APRS also has another period called PACKET PERIOD which is usually set for 1 to 10 minutes also using the alt-S command. We have found that 30 seconds updates are OK for special events when there are only one or two mobile APRS stations. As more and more stations go mobile with GPS/APRS, 1 minute or 2 minute updates are more appropriate. To further reduce channel loading, APRS will decay the period when the station is not moving. GPS MOBILE AND TNC WITH ONLY ONE SERIAL PORT (Single Port Mode) Since the data rate from the user programmble MAGELAN or Motorola GPS cards (and some LORANS) can be set to once a minute or so, this data can be simply diode-ORed with the TNC output into a single serial port. In the APRS single port mode (SPM), APRS can distinguish between packet headers from the TNC and the unique identifiers of the NMEA data. The only problems with this arrangement are data collisions and ambiguity on incomming VTG packets. At a once-a-minute GPS rate and a 100% saturated 1200 baud packet channel, the 9600 baud TNC data will experience a collision less than 1% of the time and 85% of all GPS reports will be collision free. APRS resolves the $GPVTG position ambiguity problem by ONLY matching up a VTG sentence if it has been received within 1 second of a GGA from a known station. DIODE OR-ing of GPS and TNC in SINGLE PORT MODE: GPS DATA OUT >----------*------>|--------*-----> TNC RXD |----/\/\/\/\----| | TNC DATA OUT >----------*------>|--------* both R's abt 10K |----/\/\/\/\----| By January 93, we realized that a simple pushbutton SPDT switch could be used to alternatively select either the TNC or momentarily a GPS on the same COMM port. Since ALL NMEA output GPS devices provide NMEA position reports at least every 2 seconds, if the operator pressed the button for 2 seconds, he would be assured of getting a current posit! W6PNC built a simple 555 timer to do this automatically every minute. To activate this Single Port Mode (SPM), bring up APRS in one-port TNC mode being sure to set the TNC to the same BAUD RATE as your GPS. Then enter the ALT-S SETUP Menu. Select SPM under the GPS selection and then do SETUP again to SAVE the config file. You will be asked for your regular validation and your GPS number. If you did this correctly, you will see the lower case (spm) on the yellow control panel go to uppercase. ALSO NOTE THAT BOTH THE TNC AND THE GPS MUST BE RUNNING AT THE SAME BAUD RATE. THIS IS USUALLY 4800 BAUD FOR NORMAL NMEA OUTPUTS. In the Single Port mode, the screen refresh rate is set by the period programmed into your programmable GPS (45 seconds or so is about right). The position report transmission rate from APRS to the TNC is set by POS-RATE command in the SETUP Menu. HARDWARE SINGLE PORT MODE (HSP) By the Spring of 94, we added a routine in APRS version 4.03 that could control the switching of the Single Port Mode between the TNC and ANY GPS using the handshaking lines of the COMM port. Only two transistors were needed and they could be soldered into the serial port data connector hood. This mode is called the HSP mode. In this HSP mode, APRS periodically toggles the DTR output of the serial port for a second or so whenever it needs data from the GPS. With DTR held high (normal) the GPS data is shunted to GND while the TNC operates normally. When APRS toggles the DTR low, this holds off output from the TNC, but also enables data through the emitter follower from the GPS. As soon as APRS receives the GPS data it needs, it restores DTR so the TNC is connected for normal APRS operations. In some TNC's, (PACCOMM) the RTS is used instead of the DTR for holding off TNC data. Also, this circuit uses your PC RTS line to derive a cource of +V. If the impedance of your PC RTS line is not strong enough, you might need to get it from the TNC's DSR line. REMEMBER THAT YOUR TNC AND GPS MUST BE SETUP AT THE SAME BAUD RATE, usually 4800 baud. NEWS! PACCOMM now sells this little circuit assembled inside of DB-9 connector with two pigtail connectors for your TNC and GPS for about $30. *------------------< RTS (source of +V only) GPS NMEA |/ c (Or get from TNC's DSR) >------/\/\/\/---*----*--| OUTPUT 1k | NPN |\ e | *----->|-----*-----> RXD TNC RXD | diodes | >--------------------------*----->|-----* * | | SINGLE | *---/\/\/\/--* LAPTOP c \| 10k RS-232 |--*--------/\/\/\/--* PORT e /| NPN 10k | | | TNC DTR (or RTS) //// | <---------------------------------------*-----< DTR TNC TXD <---------------------------------------------< TXD GND *---------------------------------------------* GND I installed these components in a back-to-back DB-9 connector on the cable comming from my GPS so that it is always handy. Notice that a dotted line shows how to add just one wire to take the output of the TNC to the DGPS input of the GPS if your GPS is DGPS capable and if someone in your area is transmitting DGPS data on your packet channel. PHYSICAL LAYOUT OF BACK-TO-BACK DB-9's WITH HSP CIRCUIT INSTALLED 1 2 3 4 5 DB-9 FEMALE TO COMM PORT O O O O O | 7 | | | O | O | O | O | | | | | | | | | | | NMEA N C------ | -* | | *--------E N FROM P E--->|--* | *---- | -/\/\/-B P GPS N B---*-- | --- | --- | --- | -------C N | | | | | | *--* | | | A >-----/\/\/--* | | | | | \ - | | | DGPS < - - - - * / ^ | | | | \ | | | | | | | | | | * - *--* | | | B ---------------- | --- | --- | ----* | | | | | | | | O 1 O 2 O 3 O 4 O 5 DB-9 MALE TO TNC CABLE O O O O In this adapter, the voltage to provide the -V bias to convert the NMEA output to RS-232 levels comes from the output of the TNC. For this reason, if the GPS is used alone without the TNC, a jumper must be connected between pins 2 and 3 of the empty TNC connector. This takes the -v from the unused TXD output of the PC. I recommend carrying a stubby DB-9 female connector with this jumper permanently installed. O 1 O 2 O 3 O 4 O 5 DB-9 FEMALE STUB USED TO PROVIDE | | -V BIAS WHEN TNC IS NOT USED O | O | O O | | *-----* HSP OPERATIONS: The set up procedure for HSP is identical to SPM, except that HSP vice SPM is selected from the SETUP menu. To activate HSP, bring up APRS in one-port TNC mode being sure to set the TNC to the same BAUD RATE as your GPS, probably 4800. Then select HSP under the SETUP menu and then SAVE a new CONFIG file. You will be asked for your validation number and special GPS number. If everything is done correctly, you will see the lower case (hsp) on the yellow control panel shift to uppercase. In HSP mode both the screen refresh rate and position transmission rate are set with the POS-RATE command. US NAVY MAGNAVOX 1105 SATNAV SYSTEM: I did write a version of APRS that is plug compatible with the MAGNAVOX 1105 SATNAV system. This is a 1970's vintage TRANSIT SATNAV system which has both LORAN and SATNAV integrated together in the same box. This unit is found on many US NAVY ships. It sends position updates in a very verbose protocol once every minute. This is the system used on the Naval Academy boats. If you have use for this module, please contact me. NOTES ON MOBILE GPS OPERATION: After over a year of operating GPS mobile, for other to track me, I finally borrowed an old 8088 Laptop and went James Bond mobile to the inlaws over Thanksgiving 93. It worked beautifully considering: 1) We were 5 miles out when I finally got everything going and then had to turn around and drive back home to get my GPS Validation number!!! Write it down! 2) Recommend making a trimmed down disk with only the maps you will need. This is easy to do now since version 6.0 permits you to change MAPLIST's. 3) When you QUIT APRS, your TRACK HISTORY is NOT saved UNLESS you sepcify a file name OTHER than BACKUP.BK (or do a FILE-SAVE). 4) In version 3.04 I added the TRACK mode so that APRS could recenter the map if your station moved to the edge of the screen. 5) GPS fixes indicate GGA/NUL as course and speed if no VTG data is available, or "Last GPS fix" if the GPS device is reporting GPS not available and the fix is older than a few seconds. 6) Set your refresh rate to a long enough time period so that APRS is not always processing GPS and has time to service the keyboard. I set to 20 seconds or more usually. 7) Make notes of any map errors or disagreements with GPS, with the latest MAPFIX.bas, you can now replay your track history and fix any map easily. 8) During my trip to Dayton94, I noticed that any error between your PC clock and GPS time resulted in DeadReckoning errors. In APRS 5.00, there is a TIME-SYNC command that will sync your PC time to GPS time on the next receipt of a GGA or RMC sentence. (be wary of GPS's that are transmit- ting old posits and FIX times!) For most highway maps and 1 minute reporting at 60 MPH, zooming in below eight miles is usually a waste of time. For this reason don't waste your time making maps with every little twist and turn in the road; it just takes time and memory and makes no difference. In all applications of APRS so far, you just want to know what road the mobile is on, and how far along he is between point A and B. A straight line between A and B is not as pretty, but shows the road as well as 20 points showing all the curves. If you do save any RAW GPS data outside of the APRS environment, the following two programs may be useful in reconstructing GPS data. They are provided as-is, I just made them for some quick and dirty file conversions that I had to do in the past, but thought they might be useful to others as a basis for writing your own routines. FILTRHST.bas: APRS automatically builds a track history for all moving stations. To avoid saving redundant position reports, a filter was added in APRS version 2.0 to filter all reports and to only save positions that are changing. The default value of the filter is wide enough to include the variations in position due to GPS selective avaiability. (+/- 0.03 minutes) This value can be changed with the CONTROLS-FILTER command. I wrote a QBasic utility called FILTRHST.bas that can be used to re-filter a track history file to remove additional points. Since the source code is provided, this program makes a good starting point for writing other routines for manipulating APRS track history files. In addition to filtering, this program can be used to combine a number of separate track history files into one file. GPStoHST.bas: Since the simplest GPS interface is to just plug the output of a GPS receiver into a laptop computer and save a text file. This program will take such a text file and generate an APRS track history file. Actually, it only looks for the GGA and VTG NMEA-0183 sentences and combines them into the one line APRS format. STAND-ALONE GPS TRACKERS FOR MOBILES WITHOUT PC's (Note that this section is somewhat obsolete due to the availability of cheap handheld GPS's and the PACCOMM TNC or Howie Golsteins ROMs that make them useable as-is. BUT for Balloons, and small stand-alone tracking boxes for taping to the roof of special vehicles for special events, using the innexpensive OEM cards, is still a viable way to go. This section describes an alternate method to the PACCOM interface described above for interfacing navigation devices directly to a TNC for building small autonomous mobile position reporting devices without requiring a PC computer to do format conversions. This method has the advantage of transmitting any of the NMEA-0183 sentences (to include course, speed and altitude) but requires the use of special programmable GPS/LORAN devices. Although almost all GPS/LORAN devices have an NMEA-0183 serial data output, most of them do not give the user the ability to modify the periodicity of the data reported via the interface. In most devices, navigation data is continually updated about every two seconds at 4800 baud. This is far too much data to transmit over a shared 1200 baud AX.25 packet link. Fortunately there are a few old LORANS and some OEM GPS cards which can be configured by the user to output a report once every N minutes or even hours. We have found two GPS engines which are designed for the experimenter. 1. The MAGELAN OEM 5000 circuit board that we initially used as a GPS engine is no longer available. It has been replaced by a $295 5 volt/TTL card that DOES NOT HAVE A NMEA OUTPUT. This makes the remainder of this section referring to the MAGELAN OEM card, valuable for historical purposes only. This card was 3.5 by 7 inchs, cost $445 required only a GPS antenna and 12 volts; it included the RTCM-104 differential correction. Call Emiel Yakoub at MAGELAN 960 Overland Ct, San Dimas, CA 91733, phone 714 394-5000. It had full user programmability with periods up to 5 minutes maximum. 2. The Motorola OEM prototype card also has user programmability of the NMEA outputs and can be slowed down to APRS application rates for direct connection to a TNC without the need for a computer in between. This card includes the RMC message which contains both position and course/speed in one NMEA sentence. Call Jennifer Spitzen at MOTOROLA, 708 480-5699 and ask for the BASIC ENCORE circuit board. The card runs on 12 volts, has NMEA 0183 output and RTCM-104 (differential correction) standard and comes with an active patch antenna and cable for $480 (gtys 1-99). Without antenna is $435, but unlike the Magelan, this card must have the additional 20 dB gain from an active antenna in front of it to work. The combined Motorola Rcvr/Ant pricing is better than the Magelan, it is smaller, and it outputs the combined RMC message which is more effecient packet wise. It also outputs altitudes to 56,000 feet in the GGA message. Unfortunately, they do not include all the DOCS and the user setup software in the quantity-one shipment. That costs an additional $1200 for their full development package. Fortunately, (Sept 94) I finally got my hands on one of these units and wrote a simple program called MOTOROLA.BAS which will allow you to send the needed initialization and NMEA timing commands. THis program will also generate the command to take the OEM card out of its default BINARY format, and place into NMEA format. An automatic vehicle tracking system can be assembled by simply connecting the RS-232 output from one of these programmable GPS's directly into the TNC, setting the periodicity to 1 minute or so and selecting only the RMC or GGA/VTG sentences to be output. The TNC must be placed in UNPROTO CONVERSE, and from then on, every minute a GPS position report will be transmitted. The APRS software will decode the raw NMEA position reports and plot the station on the map! MAGELAN CARD OPTIONS: The $60 Magelan development kit consisted of PC setup software, manual, a wall power supply, RS-232 cable, and short SMB to TNC adapter cable. Their $130 external active "egg" antenna came with 18 ft of cable. They also offered a $60 passive antenna with a 6 inch SMB pigtail. Since the circuit card has no display, it can actually be mounted in a weather proof container right at the antenna. Only 12 volts and RS-232 need to come down inside your vehicle. I use the card in the 2D mode for better fixes, and because the MAGELAN cannot output an altitude above 999 meters except in a propriatery NMEA sentence which is not included in APRS. GPS ENGINE SET UP: Follow all manufacturer instructions for initializing your GPS engine using your PC and their setup program. After the system is running and producing fixes, send commands to enable GGA/VTG or RMC data between 30 to 120 seconds using the following commands: MAGELAN COMMANDS: $PMGLI,00,B00,7,A (for GGA GPS position only) Where 6 = 30 Secs $PMGLI,00,B01,7,A (for GLL LORAN position only) 7 = 1 Minute $PMGLI,00,EOO,7,A (for course and speed with either) 8 = 2 Minutes 9 = 5 minutes Each line must end with a carriage return-linefeed. The GPS engine gives no responses to commands, other than doing what it is commanded. You might try a value of 5 which is once every 10 seconds as a test to be sure the GPS card is recognizing your commands. The commands for the MOTOROLA card are similar, but MUST have the proper checksum. Use my MOTOROLA.BAS program to send these commands with proper checksum calculated... MOTOROLA COMMANDS: $PMOTG,GGA,0030*csCRLF (sets up GGA once every 30 secs) $PMOTG,RMC,0060*csCRLF (sets up RMC once every 60 secs etc..) BATTERY BACKUP: Be sure to add the battery back up supply so that the card can be turned off without having to re-initialize every time. Each of the cards has a connection for a 3.6 volt battery. I use 3 AA cells soldered together. DO NOT EXCEED 5 VOLTS! TNC SETUP DETAILS: If your OEM card does NOT output the RMC sentence, (such as the Magelan), and you want course and speed, you must use the GGA and also the VTG sentence. These two sentences are separated by enough time that the TNC usually generates two packets, one right after the other. This is a problem if a digipeater path is used, because the digipeater will begin digipeating the first position fix packet and cover up the trailing velocity packet. To solve this problem, (not needed for balloons which dont need digipeaters), the sending TNC needs to be instructed to send packets not on receipt of every carriage return, but on a timing function. Set CPACTIME ON and change the SENDPACK character from $0D to anything else (say $01). This way, both the position fix and velocity lines will be sent together in the same packet one second after the last character is received from the GPS. This packet, containing two frames, will then be digipeated all together by the digipeater with no break in between. If you use the Motorola card, with the RMC sentence, this double packet problem does not exist. LINEFEEDS and FLOW CONTROL: Since the GPS is sending each line with a CR/LF on the end, your TNC will always end up placing the superfluous linefeed at the beginnning of the next packet. To defeat linefeeds, set LFIGNORE on. (for the non-standard TNC products, try the Linefeed Supress, LFS ON) Similarly, your terminal program must send CR-LF on each command to the GPS card. When you try to talk to your TNC with CR-LF, you will experience a lockup condition since the extra LF will look to the TNC like the beginning of a new command line and will hold off all TNC output. To overcome this problem, set FLOW OFF. Here are the commands which must be changed from factory defaults for most TAPR-2 TNC's: ECHO OFF, FLOW OFF, LFIGNORE ON, CPACTIME ON, SENDPAC $01 (Remember that you have SENDPAC set to $01, and change it back to $0d for normal packet operations! I was pulling my hair out while driving through Knoxville and trying to connect to the local node. It would ignore all of my node commands as if I was personna-non-grata! I finally realized it didn't like the $01's being imbedded in my packets!) UNPROTO-CONVERSE-MODE: And now for the last problem; keeping the TNC in converse mode. Since TNC's always default to command mode when turned on, they cannot be expected to operate autonomously with GPS data supplied to their inputs. Someone has to always issue the command to place them into CONVERSE. Otherwise, raw GPS data on their inputs will just be interpreted as meaningless commands by the TNC. PACCOMM has solved this problem with their UI MODE command. AEA also has a bit that you can select that will set up the UI mode. With UI MODE ON, the TNC powers up in CONVERSE and is always ready to transmit raw data on its input as UI packets. DRSI also sells a special APRS ROM that always starts up in CONVERSE. If you hit ctrl-c with either of these TNC's you get instantly to command mode for normal operations. DUMB TERMINAL SETUP: So I can see the command that I am typing into the GPS card, I configure my terminal device as half duplex. The GPS also needs the CR/LF sequence at the end of each command, so I set the terminal to translate CR to the CR/LF sequence. In order to use the same terminal with the TNC, then, that is why I turn ECHO and FLOW off in the TNC. My GPS/TNC box has one DB-9 serial connector and two switches to select whether the terminal is talking to the GPS or the TNC, and the second switch to enable the data output from the GPS to go into the TNC after all configuration is complete. SYMBOLS: APRS has more than 40 different symbols for packet stations or objects placed on the map. Since a simple TNC/GPS tracking combo does not have a mechanism for inserting an APRS symbol character directly into the on-air packet, I have made two methods to derive an APRS symbol from the TNC/GPS stand-alone-trackers. First, when APRS receives a raw NMEA position report over the air, it checks the SSID of the callsign. If it matches any of the default SSID's shown belwo it will use that symbol. Secondly, any of the APRS symbol designation characters can be placed at the beginning of the TNC BText surrounded by {} braces. Once the BText with that symbol is received, the station will then appear with the proper display symbol. See the SYMBOLS.txt file for details. SSID SYMBOL SEE SYMBOLS.txt for other SYMBOLS ---- -------------- -4 BIKE -5 YACHT (sail) -6 HELO -7 AIRCRAFT -8 SHIP (boat) -9 CAR -10 SPACE -11 BALLOON OPERATION: With the special UI MODE start-up ROM, and after initialiation the other TNC parameters once, all future tracking evolutions are initiated by simly applying power to the GPS/TNC/Radio. Without the special ROM, however, every tracking evolution requires applying power, turning on a dumb terminal, and sending the TNC CONV command. Then the terminal can be removed or turned off until the next power up. If you do not have the UI MODE ROMS, be careful if you use a battery supply of D cells with spring loaded battery holder! A bicycle equipped with this system reset the TNC after hitting the first bump, and there was never time to stop and reset the TNC until the race was over. This shows the problem of the TNC not having a power up UI MODE! We have assembled a nmumber of these GPS/PACKET tracking devices. In fact, the small OEM cards can be included within some of the larger TNC enclosures. THen add two switches to the front panel to select whether the external terminal device is talking to the GPS or TNC, and to enable or disable GPS packet reporting. Other smaller packages have been made using the PACCOM and DRSI TNC's and the TTL only model of the OEM cards, but I shy away from the TTL versions for the casual experimenter because of the absence of any data or power supply buffering. One wiring error or static charge and you have blown a $395 card! MOST OF THIS TEXT AND THE HOOK-UP SCHEMATICS WERE PUBLISHED IN THE FEB 94 ISSUE OF QEX. BUILDING A STAND-ALONE TRACKER WITH ONLY A 5 VOLT TTL OEM GPS UNIT: Building a tracker out of a 5 volt TTL GPS and any of the TAPR-2 CLONE TNC's is trivial. In the PACCOMM TINY-2, MFJ-1274, and DRSI-DPK2 there is a diode in the TXD circuit to provide isolation between the RS-232 converter chip and the TTL modem disconnect header. This diode is labeled D7, CR22, and D12 respectively. By providing the GPS TTL data output to the RXDB line (pin 5) of the modem disconnect header (via a reverse biased diode) the GPS NMEA data will be transmitted by the TNC. Similarly, by taping off of the cathode of this diode, the TTL data from an attached terminal can be sent to the GPS input. With the TNC in converse mode, setup commands from the terminal are not only transmitted on the air (without confusing the TNC) but also sent to the GPS unit. Conversly, GPS data is always transmitted on the air, but if ECHO is on in the TNC, then the GPS output is also echoed back out to the attached terminal! In this manner, no external switches are required to switch between talking to the GPS unit and the TNC. Of course, the GPS sees everything sent from the terminal, but will IGNORE everything that does not match a GPS setup command. See circuit below. CONCLUSION: With the cost of GPS OEM cards falling below $299 in the summer of 94 and handhelds falling below $399, there is every reason to begin considering GPS applications in Amateur Radio. At your next club budget meeting, instead of throwing another $400 at the repeater monster, buy the components to build a GPS/TNC tracking device in to a cigar box size package. Then at all future public service events, you have a package with whip antenna on top that can be duck-taped to the top of any vehicle for automatic vehicle tracking. Let your imagination roam! OTHER EXPERTS OR APRS USERS THAT HAVE GPS INTERFACES RUNNING: WB4APR Bob Bruninga. Annapolis. Built 4 GPS/TNC devices and 22 SATNAV/TRANSIT W3IWI Tom Clark. AMSAT GURU working on GPS for Satellites. Uses Motorola N3MNT Bob Boltz. Annapolis MD. Has MAGELAN GPS/TNC mobile W8RIK Joe Hussy. Columbus OH is GPS/TNC mobile N6JSX Dale Kubicheck Works at MAGELAN! San Dimas, CA W1BEL Gwyn Reedy. Tampa. PACCOM makes commercial TNC/GPS automatic combo W9LZQ Kent Helman, Onalaska WI. Built GPS-TNC interface & Did map of WI! W1KRU Jim Warakouis. WestRoxbury MA. Built GPS-TNC interface WB6LPG Bill Bliss. HalfMoonBay CA. Has LORAN (and now GPS mobile) N5SSY Ross Mocklin. NewOrelans LA. Has MAGELAN cards on order... KD1E John Moore. GPS mobile at GM Proving Ground. @ N8NNN.#SEMI.MI ... A total of 20 APRS/GPS mobiles were tracked in-and-around DAYTON, 1994! DIFFERENTIAL CORRECTION Tom Clark (W3IWI) has installed a Differential GPS xmtr in the Wash DC area transmitting 30 second DGPS data on the APRS freq. APRS GPS mobiles can now obtain accuracies to 5 meters or so. We are pleased to report that the RTCM- 104 format works perfectly well with APRS and with TNC's: * The GPS rcvrs seem to ignore the packet headers and act on the RTCM data * The RTCM gybrish is all printable ASCII and does not garble APRS screens Although this is an excellent demonstration and there are surely HAM applications that can take advantage of the DGPS accuracy, APRS is probably not one of them. First, APRS is not concerned with NAVIGATION accuracy, because a) no maps are that accurate (with DGPS you can make 'em so!), and b) the purpose of APRS is to inform others of mobile locations over a wide VHF area, NOT to the nearest 15 feet. (APRS formats do maintain positions to 60 foot precision) Secondly, A mature APRS net involved in a special event or activity, can probably NOT handle the QRM from 30 second RTCM transmissions. In the long term, the DGPS data should probably be transmitted MORE OFTEN and on another frequency, OR be remotely controlled such that it can be requested by a mobile user on demand, but silenced most of the time. Transmitting less often is meaningless due to latency of the data. The only application of DGPS that I can think of is to keep track of golfcarts at a hamfest, and be able to see who's booth they are at. I will probably incorporate a ?RTCM? format in APRS to permit stations to request DGPS data. I am not negative about this at all, I am only pointing out that there is NO need for you to feel that you need to rush out and implement a DGPS system in your area for APRS. DGPS TRANSMITTER SET UP: Set your TNC to transmit TO DGPS instead of the usual TO APRS and set up whatever UNPROTO path is desired to cover the area. Then enter the location of the DGPS transmitter into the TNC BText in the usual format making sure to use the special (.) symbol in the symbol field: BT !3859.11N/07629.11W.RTCM transmitter operated by TOM W3IWI... The symbol designation character is the period (.) following the W for WEST. All after that is free text. APRS will flash a DGPS flag on the screen each time it hears a DGPS transmission, but will not add the station to the L or P-Lists unless it also sees the (.) symbol in the position report. Set your beacon to every half hour or so. Finally, set your TNC into CONVERSE and tell your RTCM-104 DGPS receiver to output once every 30 seconds. See the new HSP mode schematic above where I added the interface wire between your TNC and GPS for automatic DGPS operations. CONFIGURING FOR DGPS: There are two options for routing the DGPS data from your TNC to your GPS unit: 1) For ANY arrangement: run an external wire from your TNC RXD data output over to your GPS DGPS data input. 2) For dual port operations only: connect your GPS DGPS input to the PC serial port TXD line and select DGPS from the SETUP menu in order to enable DGPS data output from APRS. NOTE that there was a bug in APRS, and this did not work until 5.00. CAUTION: This will not work if you are operating in the SPM or HSP modes or if you are using the same serial port TXD output as a source of -V bias for the NMEA conversion as suggested in the above paragraphs.